#ifndef FEATUREMATCHER_H
#define FEATUREMATCHER_H

#include <vector>


#include "math/vector.h"

#include "mve/imagefile.h"

typedef std::pair<math::Vec2f, math::Vec2f> FeatureMatch;

class FeatureMatcher {
    
private:
    mve::ByteImage::Ptr img1;
    mve::ByteImage::Ptr img2;
    
public:
    FeatureMatcher();
    ~FeatureMatcher();
    
    
    std::vector<FeatureMatch> match_features_surf();
    void set_images(mve::ByteImage::Ptr _i1, mve::ByteImage::Ptr _i2);
	void get_features(std::vector<math::Vec2f>& fpoints, std::vector<float>& scales);
	
    
};

inline void FeatureMatcher::set_images(mve::ByteImage::Ptr _i1, mve::ByteImage::Ptr _i2)
{
    this->img1 = _i1;
    this->img2 = _i2;
}


#endif /* FEATUREMATCHER_H */
